{
  "name"    : "featureconfigeditor",

  "include" :
  [
    {
      "path" : "${QOOXDOO_PATH}/tool/data/config/application.json",
      "block" : 
      [ 
        "build",
        "source",
        "source-hybrid",
        "source-all"
      ]
    }
  ],

  "export" :
  [
    "api",
    "api-data",
    "build",
    "clean",
    "distclean",
    "fix",
    "info",
    "inspector",
    "lint",
    "migration",
    "pretty",
    "profiling",
    "source",
    "source-all",
    "source-hybrid",
    "simulation-build",
    "simulation-run",
    "test",
    "test-source",
    "translation"
  ],
  
  "default-job" : "source",

  "let" :
  {
    "APPLICATION"  : "fce",
    "QOOXDOO_PATH" : "../..",
    "QXTHEME"      : "fce.theme.Theme",
    "API_EXCLUDE"  : ["qx.test.*", "${APPLICATION}.theme.*", "${APPLICATION}.test.*", "${APPLICATION}.simulation.*"],
    "LOCALES"      : [ "en" ],
    "CACHE"        : "${TMPDIR}/qx${QOOXDOO_VERSION}/cache",
    "ROOT"         : "."
  },
  
  "config-warnings" : 
  {
    "job-shadowing" : ["libraries", "build-script", "build-files", "common", "translation"],
    
    "environment" : [ "non-literal-keys" ]
  },

  "jobs" :
  {
    
    "libraries" :
    {
      "library" : [
        {
          "manifest" : "${QOOXDOO_PATH}/component/library/versionlabel/Manifest.json"
        }
      ]
    },

    "build-script" :
    {
      "compile-options" :
      {
        "code" :
        {
          "=optimize" : ["basecalls", "variables", "privates", "strings", "comments", "whitespace"]
        }
      }
    },
  
    "source" :
    {
      "compile-options" : 
      {
        "code" : { "except" : [ "*" ] }
      },

      "run" : [
        "source-script",
        "source-lowlevel-script"
      ]
    },
    
    "source-hybrid" :
    {
      "compile-options" : 
      {
        "code" : { "except" : [ "${APPLICATION}.*" ] }
      },
    
      "run" : [
        "source-script",
        "source-lowlevel-script"
      ]
    },
    
    "source-all" :
    {
      "run" : [
        "source-all-script",
        "source-lowlevel-script"
      ]
    },
    
    "source-lowlevel-script" :
    {
      "extend" : ["source-script"],
      
      "let" :
      {
        "APPLICATION_MAIN_CLASS" : "${APPLICATION}.ApplicationLowLevel"
      },

      "compile-options" :
      {
        "paths" :
        {
          "file" : "${ROOT}/source/script/${APPLICATION}-lowlevel.js"
        }
      },
      
      "exclude" :
      [
        "${APPLICATION}.theme.*",
        "${APPLICATION}.test.*",
        "${APPLICATION}.simulation.*"
      ],
      
      "config-warnings" :
      {
        "exclude" : 
        [ "${APPLICATION}.theme.*",
          "${APPLICATION}.test.*",
          "${APPLICATION}.simulation.*" ] 
      }
    },
    
    "build" :
    {
      "run" : [
        "build-script",
        "build-resources",
        "build-files",
        "build-lowlevel-resources",
        "build-lowlevel-script"
      ]
    },
    
    "build-lowlevel-resources" :
    {
    
      "extend" : ["build-resources"],
      
      "let" :
      {
        "APPLICATION_MAIN_CLASS" : "${APPLICATION}.ApplicationLowLevel"
      },
      
      "environment" :
      {
        "qx.application" : "${APPLICATION_MAIN_CLASS}"
      }
    },
    
    "build-lowlevel-script" :
    {
    
      "extend" : ["build-script"],
      
      "let" :
      {
        "APPLICATION_MAIN_CLASS" : "${APPLICATION}.ApplicationLowLevel"
      },

      "compile-options" :
      {
        "paths"  :
        {
          "file" : "${BUILD_PATH}/script/${APPLICATION}-lowlevel.js"
        },
        
        "code"   :
        {
          "=optimize" : ["basecalls", "variables", "privates", "strings", "comments", "whitespace"]
        }
      },
      
      "exclude" :
      [
        "${APPLICATION}.theme.*",
        "${APPLICATION}.test.*",
        "${APPLICATION}.simulation.*"
      ],
      
      "config-warnings" :
      {
        "exclude" : 
        [ "${APPLICATION}.theme.*",
          "${APPLICATION}.test.*",
          "${APPLICATION}.simulation.*" ] 
      }
    },
    
    "build-files" :
    {
      "copy-files" :
      {
        "files" :
        [
          "index.html",
          "index-gui.html",
          "index-lowlevel.html"
        ],

        "source" : "${ROOT}/source",
        "target" : "${BUILD_PATH}"
      }
    },
    
    "common" :
    {
      "environment" :
      {
        "qx.allowUrlSettings" : true,
        "qx.mobile.nativescroll" : true,
        "fce.reportServerHost" : null,
        "fce.reportServerGetUrl" : "/reports/features/get",
        "fce.reportServerAddUrl" : "/reports/features/add"
      }
    }

    ,"translation" :
    {
      "translate" : { "poentry-with-occurrences" : false  }
    }
  }
}
